package huxibianjie.com.lbscandroid.bean;

import android.util.Log;

import java.text.ParseException;
import java.text.SimpleDateFormat;
import java.util.Calendar;
import java.util.Date;
import java.util.TimeZone;

public class TimeUtils {

    /**
     * 获取当前时间    
     * @return    
     */        
    public static String getNowTime(){        
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd");
        Date date = new Date(System.currentTimeMillis());

        return simpleDateFormat.format(date);        
    }        
    /**    
     * 获取时间戳    
     *    
     * @return 获取时间戳    
     */        
    public static String getTimeString() {        
        SimpleDateFormat df = new SimpleDateFormat("MMddHHmmss");
        Calendar calendar = Calendar.getInstance();
        return df.format(calendar.getTime());        
    }        
    /**    
     * 时间转换为时间戳    
     * @param time:需要转换的时间    
     * @return    
     */        
    public static String dateToStamp(String time)  {        
        SimpleDateFormat simpleDateFormat = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");        
        Date date = null;        
        try {        
            date = simpleDateFormat.parse(time);        
        } catch (ParseException e) {        
            e.printStackTrace();        
        }
        long ts = date.getTime();        
        return String.valueOf(ts);        
    }        
        
    /**    
     * 时间戳转换为字符串    
     * @param time:时间戳    
     * @return    
     */        
    public static String times(String time) {    
        SimpleDateFormat sdr = new SimpleDateFormat("yyyy年MM月dd日 HH时mm分");    
        @SuppressWarnings("unused")    
        long lcc = Long.valueOf(time);    
        int i = Integer.parseInt(time);    
        String times = sdr.format(new Date(i * 1000L));    
        return times;    
    
    }       
    /**    
     *获取距现在某一小时的时刻    
     * @param hour hour=-1为上一个小时，hour=1为下一个小时    
     * @return    
     */        
    public static String getLongTime(int hour){        
        Calendar c = Calendar.getInstance(); // 当时的日期和时间        
        int h; // 需要更改的小时        
        h = c.get(Calendar.HOUR_OF_DAY) - hour;        
        c.set(Calendar.HOUR_OF_DAY, h);        
        SimpleDateFormat df = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");        
        Log.v("time",df.format(c.getTime()));
        return df.format(c.getTime());        
    }      
    /**   
     * 比较时间大小   
     * @param str1：要比较的时间   
     * @param str2：要比较的时间   
     * @return   
     */      
    public static boolean isDateOneBigger(String str1, String str2) {      
        boolean isBigger = false;      
        SimpleDateFormat sdf = new SimpleDateFormat("yyyy年MM月dd日 HH:mm:ss");      
        Date dt1 = null;      
        Date dt2 = null;      
        try {      
            dt1 = sdf.parse(str1);      
            dt2 = sdf.parse(str2);      
        } catch (ParseException e) {      
            e.printStackTrace();      
        }      
        if (dt1.getTime() > dt2.getTime()) {      
            isBigger = true;      
        } else if (dt1.getTime() < dt2.getTime()) {      
            isBigger = false;      
        }      
        return isBigger;      
    }      

  /**  
  * 当地时间 ---> UTC时间  
  * @return  
  */    
 public static String Local2UTC(){    
     SimpleDateFormat sdf = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");    
     sdf.setTimeZone(TimeZone.getTimeZone("gmt"));
     String gmtTime = sdf.format(new Date());    
     return gmtTime;    
 }    
    
  /**  
  * UTC时间 ---> 当地时间  
  * @param utcTime   UTC时间  
  * @return  
  */    
 public static String utc2Local(String utcTime) {    
     SimpleDateFormat utcFormater = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//UTC时间格式    
     utcFormater.setTimeZone(TimeZone.getTimeZone("UTC"));    
     Date gpsUTCDate = null;    
     try {    
         gpsUTCDate = utcFormater.parse(utcTime);    
     } catch (ParseException e) {    
         e.printStackTrace();    
     }    
     SimpleDateFormat localFormater = new SimpleDateFormat("yyyy-MM-dd HH:mm:ss");//当地时间格式    
     localFormater.setTimeZone(TimeZone.getDefault());    
     String localTime = localFormater.format(gpsUTCDate.getTime());    
     return localTime;    
 }
}